package com.itdaan.portal.business.mapper;

import java.io.Serializable;
import java.util.List;

import com.itdaan.portal.business.domain.Page;

/**
 * @author www.itdaan.com
 */
public interface BasicMapper<T> {

	/** 插入新对象 */
	void insert(T o);
	
	/** 删除一个或多个对象 */
	void delete(T o);
	
	/** 插入或更新对象 */
	void insertOrUpdate(T o);
	
	/** 根据对象id删除单一对象 */
	void deleteById(Serializable id);
	
	/** 更新修改的对象 */
	void update(T o);
	
	/** 根据对象id获取单一对象 */
	T getById(Serializable id);
	
	/** 无条件获取所有对象 */
	List<T> getAll();
	
	/** 根据查询对象获取多个对象 */
	List<Object> getByPage(Page page);
	
	/** 根据查询对象统计结果个数 */
	long getCountByPage(Page page);
	
}
